#include "stm32f10x.h"
#include "FreeRTOS.h"
#include "task.h"

void SysTick_Init(void)
{

    SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
    // 设置重载值
    SysTick->LOAD = 72000 - 1;

    // 清除当前计数值
    SysTick->VAL = 0;

    // 配置SysTick控制寄存器
    // 启用SysTick定时器，启用中断，使用处理器时钟（AHB时钟）
    SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk;
}

extern void xPortSysTickHandler(void);
void SysTick_Handler(void)
{
    if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) {
        xPortSysTickHandler();
    }
}
